/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.isil.tia.dao.hibernate;

import com.isil.tia.dao.EmpleadoDao;
import com.isil.tia.domain.Empleado;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.SessionFactory;

/**
 *
 * @author IVAN
 */
public class EmpleadoDaoHibernate implements EmpleadoDao {

    private SessionFactory sessionFactory;

    public void setSessionFactory(SessionFactory sessionFactory) {
        this.sessionFactory = sessionFactory;
    }

    @Override
    public int add(Empleado empleado) {
        sessionFactory.getCurrentSession().save(empleado);
        return empleado.getId_empleado();
    }

    @Override
    public Empleado get(Integer id) {
        return (Empleado) sessionFactory.getCurrentSession().get(Empleado.class, id);
    }

    @Override
    public List<Empleado> loadAll() {
        Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Empleado.class);
        return criteria.list();
    }

    @Override
    public void update(Empleado empleado) {
        sessionFactory.getCurrentSession().update(empleado);
    }

    @Override
    public void delete(Integer id) {
        sessionFactory.getCurrentSession().delete(new Empleado(id));
    }
}
